Dit dashboard is ontworpen om energieprijzen en
batterijcapaciteiten te vergelijken.
Dit helpt bij
het evalueren van:
Hoe dit dashboard te gebruiken?
Data visualisatie visualiseert historische data
op basis van de digitale meter.Simulatie bevat simulaties van de mogelijke
kostprijs onder verschillende scenarios. Laatste update: 2026-01-03
Historische data - Roggestraat
Voordat we starten met de simulaties, bekijken we eerst de historische gegevens die als basis dienen voor onze analyses. De data is afkomstig van Fluvius digitale meters en heeft een resolutie van 15 minuten (kwartierwaarden). Deze dataset bevat gedetailleerde informatie over het energieverbruik en injectie op huishoudniveau. De data loopt van 2025-12-19 tot 2025-12-31, en vormt het referentiepunt voor het vergelijken van toekomstige scenario’s.
Verbruik en injectie per kwartier
De bovenstaande grafiek toont de tijd (x-as) ten opzichte van verbruik (y-as) en injectie (y-as). Je kunt er interactief mee spelen:
Laatste 3 maanden, Laatste maand,
Laatste week, of Alles.Evolutie van energiekosten per batterijconfiguratie
Batterij capaciteit
Redenering achter de simulatie studie
1) Context en doel
Deze berekening vormt de basis van de simulaties.
Het doel is om
de energiekost per tijdsinterval te bepalen, rekening houdend met:
2) Netto-effect en tekens
3) Formule per tijdsinterval
De energiekost wordt berekend met:
\[ \text{Kostprijs}_{t} = \big(\text{Verbruik}_{t} - \text{Injectie}_{t}\big) \times \text{Tarief}_{t} \]
Definities:
Zie hieronder de desbetreffende functie die gebruikt wordt voor de berekeningen.
################################################################################
#
# Energycost Ecopower
#
################################################################################
energy_cost_ecopower <- function(verbruik , tijd , tarief){
### Vast tarief ecopower
#-----------------------
if(tarief == "vast"){
### Verbruik
#-----------
if(verbruik > 0){
output = 0.1187 * verbruik
}
### Injectie
#-----------
if(verbruik <= 0){
output = 0.02 * verbruik
}
}
### Variabel tarief ecopower
#---------------------------
if(tarief == "variabel"){
output <- -80 # nog onzin
}
### Dynamisch tarief ecopower
#----------------------------
if(tarief == "dynamisch"){
}
return(output)
}4) Batterijlogica
De batterij beïnvloedt de netto-afname:
Hieronder is de functie gegeven om de invloed van een batterij mee in rekening te nemen.
################################################################################
#
# Battery simulation
#
################################################################################
simulate_battery <- function(data, batt_cap = 0, tarief = "vast", energie_kost = energy_cost_ecopower) {
# data: dataframe
# batt_cap: 0,5,10 kWh
# tarief: "vast" of "variabel" of "dynamisch"
# energie_kost:
n <- nrow(data)
Batt <- numeric(n)
Batt_diff <- numeric(n)
kost <- numeric(n)
for (i in 1:(n - 1)) {
### Define the difference
#------------------------
diff <- data$Verbruik[i] - data$Injectie[i]
### Meer verbuik dan productie
#-----------------------------
if (diff > 0) {
### Energie gebruikt van de batterij
#-----------------------------------
used_from_batt <- min(diff, Batt[i])
### Update batterij capaciteit
#-----------------------------
Batt[i + 1] <- Batt[i] - used_from_batt
### Overige energie die van het net komt
#---------------------------------------
remaining <- diff - used_from_batt # 0 of >0
### Definieer de kost voor net energie
#-------------------------------------
if (remaining > 0) {
kost[i + 1] <- kost[i] + energie_kost(remaining, data$start_time[i], tarief)
}
else{
kost[i+1] <- kost[i]
}
}
### Meer geproduceerd dan vebruikt
#---------------------------------
if (diff <= 0) {
### Verschil dat kan worden opgeslagen
#-------------------------------------
surplus <- abs(diff)
### Capaciteit beschikbaar om op te slagen
#-----------------------------------------
space <- batt_cap - Batt[i] # remaining battery capacity
stored <- min(surplus, space) # store only what fits
### Update nieuwe batterij capaciteit
#------------------------------------
Batt[i + 1] <- Batt[i] + stored
### Overge energie
#-----------------
remaining <- surplus - stored
### Optional sell surplus back to net
#------------------------------------
if (remaining > 0) {
kost[i+1] <- kost[i] + energie_kost(-remaining, data$start_time[i], tarief) # Klopt deze functie???
}
else{
kost[i+1] <- kost[i]
}
}
}
return(
tibble(
start_time = data$start_time,
Verbruik = data$Verbruik,
Injectie = data$Injectie,
Batt_kWh = Batt,
Batt_diff_kWh = c(NA, diff(Batt)),
Kostprijs = kost,
Type = factor(batt_cap),
Tarief = tarief
))
}5) Totale kost over een periode
Sommeer alle intervalkosten:
\[ \text{Totale kost} = \sum_{t \in \text{periode}} \text{Kostprijs}_{t} \]
6) Aannames